package com.tmt.im.common.yunxin;

import com.alibaba.fastjson2.JSONObject;
import com.tmt.springboot.chain._DynamicInterface;

import java.util.List;

/**
 * 通过云信平台发送消息
 *
 * @Description TODO
 * @Author wuyi
 * @Date 2024/9/24 11:34
 * @Version 1.0
 **/
@_DynamicInterface
public interface IYunXinMsgSender {

    /**
     * 发送自定义消息。
     * @param from
     * @param to
     * @param content
     * @return
     */
    boolean sendCustomizedMsg(Long from, Long to, JSONObject content, StringBuilder error);

    /**
     * 向指定用户发送消息(单聊)
     *
     * @param senderId
     * @param receiverId
     * @param msgType
     * @param msg
     * @param error
     * @return
     */
    boolean sendMsg(Long senderId, Long receiverId, int msgType, JSONObject msg, StringBuilder error);

    /**
     * 在群组中发送消息（群聊）。
     *
     * @param senderId
     * @param tid         群组ID。
     * @param receiverIds
     * @param msgType
     * @param msg
     * @param error
     * @return
     */
    boolean sendMsgInSession(Long senderId, Long tid, List<Long> receiverIds, int msgType, JSONObject msg, StringBuilder error);

}
